package com.wangsh.usersCenter.users.service;


import java.util.List;
import java.util.Map;

import com.wangsh.usersCenter.common.pojo.ApiResponse;
import com.wangsh.usersCenter.common.util.PageInfoUtil;
import com.wangsh.usersCenter.users.pojo.AMenu;
import com.wangsh.usersCenter.users.pojo.ARole;
import com.wangsh.usersCenter.users.pojo.ARoleMenu;

public interface IRbacDbService
{
	/* == 菜单表操作开始 == */
	/**
	 * 保存一条菜单
	 * @param Menu
	 * @return
	 */
	ApiResponse<Object> saveOneMenuService(AMenu menu);
	
	/**
	 * 更新一条菜单
	 * @param 
	 * @return
	 */
	ApiResponse<Object> updateOneMenuService(AMenu menu);
	
	/**
	 * 删除一条菜单
	 * @param 
	 * @return
	 */
	ApiResponse<Object> deleteOneMenuService(Map<String, Object> condMap);
	
	/**
	 * 查询一条菜单
	 * @param condMap
	 * @return
	 */
	ApiResponse<AMenu> findOneMenuService(Map<String, Object> condMap);
	
	/**
	 * 查询多条菜单
	 * @param condMap
	 * @return
	 */
	ApiResponse<AMenu> findCondListMenuService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
/* == 菜单表操作结束 == */
/* == 角色操作开始 == */
	/**
	 * 保存一条角色
	 * @param role
	 * @return
	 */
	ApiResponse<Object> saveOneRoleService(ARole role);
	
	/**
	 * 更新一条角色
	 * @param 
	 * @return
	 */
	ApiResponse<Object> updateOneRoleService(ARole role);
	
	/**
	 * 删除一条角色
	 * @param 
	 * @return
	 */
	ApiResponse<Object> deleteOneRoleService(Map<String, Object> condMap);
	
	/**
	 * 查询一条角色
	 * @param condMap
	 * @return
	 */
	ApiResponse<ARole> findOneRoleService(Map<String, Object> condMap);
	
	/**
	 * 查询多条角色
	 * @param condMap
	 * @return
	 */
	ApiResponse<ARole> findCondListRoleService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/**
	 *	 角色授权->获取权限的方法
	 * @param condMap
	 * @return
	 */
	ApiResponse<AMenu>  getPermission(Map<String, Object> condMap);
	
	/* == 角色操作结束 == */
	/* == 角色菜单操作开始 == */
	/**
	 * 保存一条角色菜单
	 * @param role
	 * @return
	 */
	ApiResponse<Object> saveOneRoleMenuService(ARoleMenu roleMenu);
	
	/**
	 * 保存多条角色菜单
	 * @param role
	 * @return
	 */
	ApiResponse<Object> saveBatchRoleMenuService(List<Map> list);
	
	/**
	 * 更新一条角色菜单
	 * @param 
	 * @return
	 */
	ApiResponse<Object> updateOneRoleMenuService(ARoleMenu roleMenu);
	
	
	
	/**
	 * 删除一条角色菜单
	 * @param 
	 * @return
	 */
	ApiResponse<Object> deleteOneRoleMenuService(Map<String, Object> condMap);
	/**
	 * 查询一条角色菜单
	 * @param condMap
	 * @return
	 */
	ApiResponse<ARoleMenu> findOneRoleMenuService(Map<String, Object> condMap);
	
	/**
	 * 查询多条角色菜单
	 * @param condMap
	 * @return
	 */
	ApiResponse<ARoleMenu> findCondListRoleMenuService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/* == 角色菜单操作结束 == */
}
